The present invention relates generally to generating high-resolution computer graphics imagery. More particularly, the present invention relates to generating high-resolution graphics imagery using high-resolution critical items defined in a computer database.
One of the things that must be done in order to generate a high fidelity image for computer simulation purposes is to compute picture details, or picture elements (pixels), sufficiently small to resolve the smallest object potentially visible to the viewer. The value of being able to resolve the smallest object possible is especially important in such high fidelity computer simulation applications such as flight or military simulators.
A limitation of computer based visual systems is that it is not practical to generate imagery at the resolution limit of the observer over large fields of view by the method of generating massive quantities of pixels. Even with the impressive increases in computational power achieved in recent times and the continued forecast of ever increasing computational power, the technology remains unable to provide this at a cost effective price.
A major goal of visual system design is to reproduce all the effects of the real world inside the simulation visual system. In order to provide the visual image to the pilot that provides all the actual cueing that he would normally get from the real world, the scene must be computed at least at the resolution limit of his vision. A full 4 pi steradian field of view displayed at eye limiting resolution would require in excess of 500 Million pixels to be computed 60 times a second with full depth coverage. Even with the stunning increases in computational power achieved in recent times and the continued forecast of ever increasing computational power, computer systems are still somewhere between 50 and 100 times short of being able to provide the cost effective, high-resolution graphics output that the high fidelity simulators need.
Previous visual systems that have attempted to manage resolution resources fall into one of four categories. The first category is visual systems that generate imagery by computing a uniform distribution of pixel resources throughout the field of view. The second category is visual systems that produce a higher resolution in a fixed forward field of view by computing and displaying narrower channels in the forward portion of the field of view.
A third category of visual systems are those that produce higher resolution inserts which are either head-tracked or eye-tracked as a way of producing higher resolution without computing all the pixels needed to provide uniform resolution. These Area of Interest (AOI) techniques have achieved limited success but all have artificial limitations and implementation complexities. These limitations typically force the viewer to behave in an unnatural manner such as directing his head toward something he wants to observe and then waiting for the visual system to catch up.
A fourth category of visual systems dynamically modifies the entire output resolution level and manages the computational resources as a function of the detail of the imagery to be computed. This approach is directed at keeping the pixel computational resources deterministic rather than greatly leveraging the resolution resources.
The invention provides a device for rendering computer graphic images, including a database and geometric processor to process a plurality of polygons. The device further comprises a background rendering engine to render the polygons received from the geometric processor. A critical item detector is configured to identify polygons received from the geometric processor that have at least a portion of the polygon within a critical item region. In addition, a critical item rendering engine is included to render polygons identified by the critical item detector. The identified polygons in the critical item engine are rendered at a higher resolution than the polygons rendered by the background rendering engine. A critical item load manager is coupled to the critical item rendering engine to increase or decrease a critical item load being rendered by the critical item rendering engine, and to match a deterministic processing time allowed.
In accordance with an alternative embodiment of the present invention, the system provides a device for rendering a high-resolution graphic image. The system provides a database of polygons, where each polygon is enabled to be associated with a critical item flag and a critical item priority. A geometric processor is also used to geometrically transform polygons from the database. A critical item detector is configured to identify polygons received from the geometric processor which are associated with a critical item region. A critical item rendering engine receives polygons identified by the critical item detector using the critical item region and renders the polygons in a higher resolution than background polygons. A critical item load manager is further coupled to the critical item rendering engine to determine the number of critical items to be rendered for a frame, based on a processing time available for renderings of critical items and the critical item priority of the polygons.
Another embodiment of the present invention is a method for rendering critical objects in a computer graphic image at a higher resolution than background objects in order to provide high-resolution output items for a viewer. The method includes the step of associating a critical item flag with the critical objects stored in a database that models an environment. Another step is detecting critical objects, based on a critical item region. Yet another step is rendering the detected critical objects at a higher resolution than background objects. A further step is combining a lower resolution background with higher resolution critical objects.